package com.testing.strclass;

public class StrStringBuffer {

    public static void main(String[] args) {
        char[] num = new char[]{1024};
        num[0] = '1';
        StringBuffer stringBuffer = new StringBuffer();
        // 追加字符串
        stringBuffer.append("测试1");
        stringBuffer.append("测试2");

        // 在指定位置前面插入字符串
        stringBuffer.insert(1,"it");
        System.out.println("插入之后的字符串为: " + stringBuffer);

        // 最后一个字符串的下标
        System.out.println(stringBuffer.lastIndexOf("1"));

        // 追加数组
        stringBuffer.append(num);
        System.out.println(stringBuffer);

        if (stringBuffer.length() < 10){
            // 前包含，后不包含
            stringBuffer.delete(0,2);
        }
        System.out.println("删除之后的字符串为: " + stringBuffer);

        stringBuffer.reverse();
        System.out.println("反转之后的字符串为: " + stringBuffer);

        // 指定长度替换字符串
        stringBuffer.replace(0,stringBuffer.length(),"1");
        System.out.println("替换之后的字符串为: " + stringBuffer);

        // 替换0,0的，相当于插入方法
        stringBuffer.replace(0,0,"1");
        System.out.println("第二次替换之后的字符串为: " + stringBuffer);
        // 总结StringBuffer线程安全，原因是因为所有方法都使用了synchronized
    }
}
